﻿/* Nibiru Studio Engine Version [1062] */
// Copyright (c) 2020-2023 Nibiru. All rights reserved.
#pragma once
#include "Apis/NComponent.h"
#include "Apis/NEngineApi.h"


ENGINE_NAMESPACE_BEGIN

#define SceneTarget_API DLLEXPORT

class EyeManager;
OBJECT_CLASS(SceneTarget)
class SceneTarget_API SceneTarget : public NComponent
{
	DECLARE_CLASS(SceneTarget, NComponent)
	DECLARE_RTTI
	ENABLE_REFLECTION
public:
	SceneTarget() = default;
	virtual ~SceneTarget() = default;
	
	virtual void Start() override;
	virtual void Update() override;
	virtual void OnDestroy() override;
	virtual void PostEditChangeProperty(std::string& propertyName) override;

	virtual void Serialize(Archive& ar) override;
	virtual void LateDeserialize(Archive& ar) override;

public:
    void updateGazePoint();


private:
    EyeManager* m_pEyeManager;
    //
    NActorPtr m_gazePoint;
    NLabelPtr m_textMessage;

};
DECLARE_PTR(SceneTarget)
ENGINE_NAMESPACE_END
